#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <stdint.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <stdbool.h>
#include <errno.h>
#include <string.h>
#include <signal.h>
#include <dlfcn.h>
#include <pthread.h>
#include <linux/fb.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include "shmhead.h"

int main(int argc, char const *argv[])
{
    // 1， 创建共享内存IPC
    key_t key = ftok(MSGPATH, PROJID);   
    int shmid = shmget(key, 128, IPC_CREAT|0666);

    // 2，将SHM映射到本进程的内存空间
    char *p = shmat(shmid, NULL/*让Linux自动为本SHM分配虚拟地址入口*/, 0); // 以读写方式映射
    if(p == (void*)-1)
    {
        perror("shmat失败");
        exit(0);
    }

    // 3，从SHM读出数据
    while(1)
    {
        pintf("%s", p);
    }

    return 0;
}
